# 可变类型：变量区不变，数据区数据可变、地址不变
# 不可变类型：变量区不变，数据区数据不变、地址不变

demo_list = [1, 2, 3]
print("定义列表后的内存地址: %d" % id(demo_list))
demo_list.append(4)
print("列表添加数据后的内存地址: %d" % id(demo_list))
demo_list.pop(0)
print("列表删除数据后的内存地址: %d" % id(demo_list))
demo_list.remove(2)
print("列表删除数据后的内存地址: %d" % id(demo_list))
demo_list[0] = 10
print("列表修改数据后的内存地址: %d" % id(demo_list)) # 以上都一样
demo_list  = [1, 2, 3]
print("重新赋值后的内存地址: %d" % id(demo_list)) # 重新赋值的地址改变